//
//  ITextureMapper.h
//  Ray Tracer
//
//  Created by Kaila, Ashish on 3/23/13.
//  Copyright (c) 2013 Kaila, Ashish. All rights reserved.
//

#ifndef Ray_Tracer_ITextureMapper_h
#define Ray_Tracer_ITextureMapper_h

struct Intersection;
class TextureMaterial;

class ITextureMapper
{
public:
    // Maps a texture to an intersection point
    // intersection - intersection information
    // i - x component of mapped texture coordinate [-1, 1]
    // j - y component of mapped texture coordinate [-1, 1]
    virtual bool mapTexture(const Intersection& intersection, double& i, double& j) const = 0;
};

#endif
